--TEST--
Test array_diff() function : usage variations  - array with different data types as values
--FILE--
<?php
/*
 * Test how array_diff() compares indexed arrays containing different
 * data types as values in place of $arr1
 */

echo "*** Testing array_diff() : usage variations ***\n";

// Initialise function arguments not being substituted (if any)
$array = array(1, 2);

//array of values to iterate over
$values = array(

/*1*/"empty array" => array(),

/*2*/
"int" => array(
      // int data
      0,
      1,
      12345,
      -2345),

/*3*/
"float" => array(
      // float data
       10.5,
       -10.5,
       12.3456789000e10,
       12.3456789000E-10,
       .5),

/*4*/
"null" => array(
      // null data
      null),

/*5*/
"boolean" => array(
      // boolean data
      true,
      false),

/*6*/
"empty" => array(''),

/*7*/
"string" => array('string'),
);

// loop through each element of the array for arr1
$iterator = 1;
foreach($values as $value) {
      echo "Iteration: $iterator\n";
      var_dump( array_diff($value, $array) );
      $iterator++;
};

echo "Done";
?>
--EXPECT--
*** Testing array_diff() : usage variations ***
Iteration: 1
array(0) {
}
Iteration: 2
array(3) {
  [0]=>
  int(0)
  [2]=>
  int(12345)
  [3]=>
  int(-2345)
}
Iteration: 3
array(5) {
  [0]=>
  float(10.5)
  [1]=>
  float(-10.5)
  [2]=>
  float(123456789000)
  [3]=>
  float(1.23456789E-9)
  [4]=>
  float(0.5)
}
Iteration: 4
array(1) {
  [0]=>
  NULL
}
Iteration: 5
array(1) {
  [1]=>
  bool(false)
}
Iteration: 6
array(1) {
  [0]=>
  string(0) ""
}
Iteration: 7
array(1) {
  [0]=>
  string(6) "string"
}
Done
